package com.isoftstone.merchant.dao.notify;

import com.isoftstone.common.Page;
import com.isoftstone.merchant.entity.notify.BNotify;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;


@Repository
public interface BNotifyMapper {
    //int deleteByPrimaryKey(Long notifySeq);

    void withdrawNotify(Long notifySeq);

    int insertNotifyAndGetId(BNotify bNotify);

    //int insert(BNotify record);

    int insertSelective(BNotify record);

    //BNotify selectByPrimaryKey(Long notifySeq);

    //int updateByPrimaryKeySelective(BNotify record);

    //int updateByPrimaryKey(BNotify record);

    List<BNotify> findnotifylistPage(Page page) throws Exception;

   List<BNotify> findnotifylis() throws Exception;

    //手机端获取未读通知数量
    List<BNotify> getNReadNotifyNum(@Param("read") String read, @Param("status") String status, @Param("openAccount") String openAccount)throws Exception;
    //手机端获取未读通知分类明细
    List<BNotify> getNReadNotifyList(@Param("read") String read, @Param("type") String type, @Param("status") String status, @Param("openAccount") String openAccount)throws Exception;
    //手机端获取已读通知分类明细
    List<BNotify> getReadNotifyList(@Param("read") String read, @Param("type") String type, @Param("status") String status, @Param("openAccount") String openAccount)throws Exception;
    //手机端获取普通/签约通知
    List<BNotify> getNotifyListOne(@Param("read") String read, @Param("type") String type, @Param("status") String status, @Param("openAccount") String openAccount)throws Exception;
    //手机端获取缴费通知
    List<BNotify> getNotifyListTwo(@Param("read") String read, @Param("type") String type, @Param("status") String status, @Param("openAccount") String openAccount)throws Exception;
    //修改消息读取状态
    void updateNotifyRead(@Param("read") String read, @Param("notifyId") String notifyId, @Param("userId") String userId)throws Exception;
    //修改消息读取状态
    void updateNotifyReadById(@Param("read") String read, @Param("notifyId") String notifyId, @Param("openAccount") String openAccount)throws Exception;

    List<BNotify> findMervhantNotifylistPage(Page page)throws Exception;
    //商户端获得银行通知
    List<BNotify> findBankNotifylistPage(Page page)throws Exception;


    void deletenotify(@Param("notifyId")Long notify_id)throws Exception;
}